package com.shengzai.rdd

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo12Union {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setMaster("local")
    conf.setAppName("Filter")
    val sc = new SparkContext(conf)

    val RDD1: RDD[Int] = sc.parallelize(List[Int](1, 2, 3, 4, 5, 6))
    val RDD2: RDD[Int] = sc.parallelize(List[Int](3, 4, 5, 6, 7, 8))
    /**
     * 合并RDD1和RDD2，两个RDD必须为同一种类型
     * union合并只是在逻辑层面合并，数据层面并没有合并
     */
    val unionRDD: RDD[Int] = RDD1.union(RDD2)

    unionRDD.foreach(println)

    //distinct 去重 会产生shuffle过程
    val distinctRDD: RDD[Int] = unionRDD.distinct()
    distinctRDD.foreach(println)

  }

}
